package GestionDatosFM;

import java.util.Date;

import ExcepcionesFM.ExcepcionFechaCerrada;
import ExcepcionesFM.ExcepcionFechaInvalida;
import ExcepcionesFM.ExcepcionPuntuacionInvalida;
import LogicaFM.Fecha;

public class GestorFecha {


	public static Fecha getFechaActual() {
		
		return FechaDAO.getFechaActual();
	}

	public static Fecha getFecha(int nroFecha) throws ExcepcionFechaInvalida{
		
		Fecha fecha = FechaDAO.selectFecha(nroFecha);
		
		if(fecha.getInicioVeda().compareTo(new Date())>0)	
			throw new ExcepcionFechaInvalida("No se ha iniciado el periodo de Veda para la Fecha seleccionada.");
		
		if(fecha.getInicioVeda() == null)
			throw new ExcepcionFechaInvalida("La Fecha seleccionada no es la vigente. Por favor seleccione otra Fecha.");
		
		if(fecha.getEstado() == false)
			throw new ExcepcionFechaCerrada("La Fecha seleccionada se encuentra cerrada. Solo podra consultar los puntajes.", fecha);
			
		return fecha;
	}

	public static void cerrarFecha() throws ExcepcionPuntuacionInvalida{
		
		getFechaActual().cerrar();
		
		return;
	}

	public static void cerrarLaFecha() {
		FechaDAO.cerrarFecha(getFechaActual());
		
	}

}
